//package com.base.app.services;
//
//import com.base.app.utils.Docx4jUtil;
//import org.docx4j.openpackaging.packages.WordprocessingMLPackage;
//import org.springframework.stereotype.Service;
//import org.springframework.web.multipart.MultipartFile;
//
//import java.util.HashMap;
//import java.util.List;
//import java.util.Map;
//
///**
// * @author Simon
// * @create 2025/3/11
// * @Description
// **/
//@Service
//public class DocumentService {
//
//    // 获取模板中的标签信息
//    public Map<String, Object> getTagsForFrontEnd(String templatePath) throws Exception {
//        WordprocessingMLPackage wordPackage = Docx4jUtil.loadDocument(templatePath);
//        List<String> allTags = Docx4jUtil.getAllTags(wordPackage);
//        Map<String, List<String>> selectionFields = Docx4jUtil.getSelectionFields(wordPackage);
//
//        Map<String, Object> frontEndData = new HashMap<>();
//        frontEndData.put("contentTags", allTags); // 普通文本/图片标签
//        frontEndData.put("selectionFields", selectionFields); // 选择字段及其选项
//        return frontEndData;
//    }
//
//    // 生成文档
//    public void generateDocument(String templatePath, Map<String, String> userInput, String outputPath) throws Exception {
//        WordprocessingMLPackage wordPackage = Docx4jUtil.loadDocument(templatePath);
//        Docx4jUtil.bindDataAndGenerate(wordPackage, userInput, outputPath);
//    }
//
//    // 将上传的图片转换为 Base64 字符串
//    public String convertImageToBase64(MultipartFile image) throws Exception {
//        byte[] imageBytes = image.getBytes();
//        return java.util.Base64.getEncoder().encodeToString(imageBytes);
//    }
//}
